Skip to content

Sync changes from Agave master (Feb 23)#12

Closed
mircea-c wants to merge 3546 commits intoanza-xyz:masterfrom
mircea-c:sync-agave-feb20
Closed

Sync changes from Agave master (Feb 23)#12
mircea-c wants to merge 3546 commits intoanza-xyz:masterfrom
mircea-c:sync-agave-feb20

Conversation

@mircea-c
Copy link
Copy Markdown
Contributor

@mircea-c mircea-c commented Feb 20, 2026

Syncs 19 commits from Agave master that touched SVM-owned files, plus maintenance commits.

Cherry-picks

Agave commits cherry-picked into SVM-owned paths (ordered oldest to newest):

  • #10241 – #10694: 17 commits spanning svm/, program-runtime/, transaction-context/, programs/system/, programs/bpf_loader/, programs/loader-v4/, programs/compute-budget/
  • #10197: clippy — update programs/system/ and rustfmt.toml to Rust 2024 style
  • #10748: fix(svm) — remove redundant Box allocation in program loader

SVM maintenance

  • Bumps agave git dep pin to cc74332e59 (last cherry-picked commit)
  • Adds [patch] entries for solana-bpf-loader-program and solana-loader-v4-program so that solana-builtins (agave git dep) uses SVM's local copies. Required because #10529 added #[cfg(feature = "metrics")]-gated parameters to program-runtime's deploy API that agave's copies don't handle.
  • Adds #[allow(deprecated)] in the system program test mockup for Rent::lamports_per_byte_year, deprecated in solana-rent 3.1.0 and renamed to lamports_per_byte in v4.

steviez and others added 30 commits November 18, 2025 19:00
chore: typo fixes
* Support sending client Pubkey in QUIC streamer along with PacketBatch

* addressed some feedback from Alex on unittest

* Update abi digest

* resolved merge conflicts properly
* chore(deps): bump memmap2 from 0.9.8 to 0.9.9

Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs) from 0.9.8 to 0.9.9.
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](RazrFalcon/memmap2-rs@v0.9.8...v0.9.9)

---
updated-dependencies:
- dependency-name: memmap2
  dependency-version: 0.9.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump core_affinity from 0.5.10 to 0.8.3

Bumps [core_affinity](https://github.com/Elzair/core_affinity_rs) from 0.5.10 to 0.8.3.
- [Commits](Elzair/core_affinity_rs@0.5.10...0.8.3)

---
updated-dependencies:
- dependency-name: core_affinity
  dependency-version: 0.8.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* bump solana-instruction-error from 2.0.0 to 2.1.0

* allow using deprecated InstructionError::NotEnoughAccountKeys

* update BankSlotDelta frozen-abi hash
* chore(ledger): switch to rand=0.9.2 and rand_chacha=0.9.0

* fix: pin rand=0.9.5 and rand_chacha=0.3.1 for leader schedule
…-hasher to 3.1.0 (#9145)

* bump solana-transaction 3.0.1 to 3.0.2

* bump solana-hash from 3.0.0 to 3.1.0

* bump solana-sha256-hasher from 3.0.1 to 3.1.0
* chore(deps): bump quote from 1.0.41 to 1.0.42

Bumps [quote](https://github.com/dtolnay/quote) from 1.0.41 to 1.0.42.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](dtolnay/quote@1.0.41...1.0.42)

---
updated-dependencies:
- dependency-name: quote
  dependency-version: 1.0.42
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump caps from 0.5.5 to 0.5.6

Bumps [caps](https://github.com/lucab/caps-rs) from 0.5.5 to 0.5.6.
- [Release notes](https://github.com/lucab/caps-rs/releases)
- [Commits](lucab/caps-rs@v0.5.5...v0.5.6)

---
updated-dependencies:
- dependency-name: caps
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump bytes from 1.10.1 to 1.11.0

Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](tokio-rs/bytes@v1.10.1...v1.11.0)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump indexmap from 2.11.4 to 2.12.0

Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.11.4 to 2.12.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](indexmap-rs/indexmap@2.11.4...2.12.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-version: 2.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* runtime: resolve compute budget in `check_transaction()`
* chore(deps): bump rustls from 0.23.34 to 0.23.35

Bumps [rustls](https://github.com/rustls/rustls) from 0.23.34 to 0.23.35.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](rustls/rustls@v/0.23.34...v/0.23.35)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Use u16 for deduplication map

* Do not limit account number for tests
* chore(deps): bump solana-keccak-hasher from 3.0.0 to 3.1.0

Bumps [solana-keccak-hasher](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...cpi@v3.1.0)

---
updated-dependencies:
- dependency-name: solana-keccak-hasher
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump the rest

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yihau <yihau.chen@icloud.com>
* chore(deps): bump solana-blake3-hasher from 3.0.0 to 3.1.0

Bumps [solana-blake3-hasher](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...cpi@v3.1.0)

---
updated-dependencies:
- dependency-name: solana-blake3-hasher
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump the rest

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yihau <yihau.chen@icloud.com>
…gned()` (#9142)

* Adds INVOKE_REALLOC_SHRINK_THEN_CPI_THEN_REALLOC_EXTEND to test_program_sbf_realloc_invoke().

* Zero the slice between post_len and the current account len when stricter_abi_and_runtime_constraints && !account_data_direct_mapping in deserialize_parameters_aligned().

* Revert "Zero the slice between post_len and the current account len when stricter_abi_and_runtime_constraints && !account_data_direct_mapping in deserialize_parameters_aligned()."

This reverts commit 3045db332cd1de077f058c66e2a137ac7afc150d.

* Zero the slice between prev_len and post_len in update_callee_account() when stricter_abi_and_runtime_constraints && !account_data_direct_mapping.

* Rekeys stricter_abi_and_runtime_constraints and account_data_direct_mapping.
* chore(deps): bump itertools from 0.13.0 to 0.14.0

Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.13.0 to 0.14.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](rust-itertools/itertools@v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
rpc/sts: remove ConnectionCache usage

This PR removes optional ConnectionCache compontent usage from RPC and
SendTransactionService. Along the way it also removes stale UDP flags
related with ConnectionCache.
….9.0 (#9118)

* chore(deps): switch to rand=0.9.2 and rand_chacha=0.9.0

* fix shuttle test and tweak svm-type-overrides rand exports

* chore(deps): upgrade dev-bins to rand=0.9.2

* Call expect instead of unwrap for Uniform::try_from
Counters should go away altogether, and given that these counters are at
debug level, I'm inclined to think nobody is actually using them
…key to 4.0.0 + solana-program-error to 3.0.0 (#9245)

* bump solana-account-info to 3.1.0

* bump solana-program-entrypoint to 3.1.1

* bump solana-pubkey to 4.0.0

* bump solana-program-error to 3.0.0

* add sha2 feature for feature-set's solana-sha256-hasher
* Create VmSlice

* Make IxFrame shareable

* Do not share deduplication map

* Inline functions

* Rewrite comments

* Sort addresses

* Use Option<VmSlice>>

* Fix rebase conflicts

* Remove default for VmSlice

* Initialize VmSlice with zero

* Use wrapping sub

* Create fn end
This counter would trigger when a vote was processed that differed from
what the local node calculated.
- If the other node was incorrect, there is no action for the local node
  as the local node is still in consensus with the cluster
- If the local node was incorrect, the node will log the same
  information and eventually panic if the issue is non-recoverable

In either scenario, this counter doesn't provide much extra information
over other signals so rip it out
* Trezor support for Solana CLI

* Cleanup and prep for PR

* Sort workspace deps

* Update trezor-client dependency

* Support multiple wallets, add changelog

---------

Co-authored-by: stevenbooke <steviebeee55@gmail.com>
* chore(deps): bump gethostname from 0.2.3 to 1.0.0

Bumps gethostname from 0.2.3 to 1.0.0.

---
updated-dependencies:
- dependency-name: gethostname
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump solana-epoch-info from 3.0.0 to 3.1.0

Bumps [solana-epoch-info](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...cpi@v3.1.0)

---
updated-dependencies:
- dependency-name: solana-epoch-info
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump serde_with from 3.15.1 to 3.16.0

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.15.1 to 3.16.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](jonasbb/serde_with@v3.15.1...v3.16.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-version: 3.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@mircea-c mircea-c requested review from a team and buffalojoec February 23, 2026 16:13
Copy link
Copy Markdown
Contributor

@buffalojoec buffalojoec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind adding more SVM commits through anza-xyz/agave#10679?

@mircea-c mircea-c changed the title Sync changes from Agave master (Feb 20) Sync changes from Agave master (Feb 23) Feb 23, 2026
@mircea-c
Copy link
Copy Markdown
Contributor Author

@buffalojoec I added all the commits that were merged until today: anza-xyz/agave#10197 and anza-xyz/agave#10748.

As for anza-xyz/agave#10679, programs/vote is from an agave dep. The rev pin is now at cc74332e59 which is downstream of that commit so the changes are included.

@mircea-c mircea-c requested a review from buffalojoec February 23, 2026 19:45
Copy link
Copy Markdown
Contributor

@buffalojoec buffalojoec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we might be missing anza-xyz/agave#10398 from the history.

It's older than this range, but I just happened to spot it in my review.

mircea-c and others added 2 commits February 25, 2026 08:59
- Add ci/xtask crate depending on anza-xyz/xtask for publish order logic
- Replace ci/order-crates-for-publishing.py with cargo xtask publish order
- Update .github/workflows/lint.yml to use the new command
- Exclude ci/xtask from cargo-for-all-lock-files.sh to avoid passing agave-specific feature flags to an unrelated workspace
* Bumps solana-sbpf to v0.14.1

* Uses sbpf_version.stack_frame_gaps() flag for MemoryRegion::new_writable_gapped().

* Rekeys enable_sbpf_v3_deployment_and_execution.

* Shifts the tests guest address space up to avoid the difference in access_violation_err between EbpfError::StackAccessViolation and EbpfError::AccessViolation.
@mircea-c
Copy link
Copy Markdown
Contributor Author

Done. Added anza-xyz/agave#10398

@mircea-c mircea-c requested a review from buffalojoec February 25, 2026 14:35
@buffalojoec
Copy link
Copy Markdown
Contributor

Done. Added anza-xyz/agave#10398

Do we care about the ordering?

@mircea-c mircea-c force-pushed the sync-agave-feb20 branch 2 times, most recently from 1def558 to 346606b Compare February 25, 2026 17:50
@mircea-c
Copy link
Copy Markdown
Contributor Author

Do we care about the ordering?

Well, I clearly didn't think about it 😆

I rewrote the commits to be in the right order.

Copy link
Copy Markdown
Contributor

@buffalojoec buffalojoec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @mircea-c but this is a lot to review and I'm not 100% sure the best way to ensure we haven't a) missed any commits from Agave or b) included all changes from each commit that touched all files in SVM. Plus, the PR is interleaved with CI and other patch-fixes, making this a pretty big beast.

Can we break this up?

@nagisa
Copy link
Copy Markdown
Contributor

nagisa commented Mar 4, 2026

I don't think human review is the right way to go about this in the first place.

Could we figure out what's the command to verify that the tree here and tree in agave are the same? Perhaps doesn't really matter if the history is fully preserved, although git filter-tree would be able to provide the relevant history on the agave side at least. Then the review would be largely a "run this command and you'll see that both contents and history are the way we expect them to be."

@buffalojoec
Copy link
Copy Markdown
Contributor

I don't think human review is the right way to go about this in the first place.

Could we figure out what's the command to verify that the tree here and tree in agave are the same? Perhaps doesn't really matter if the history is fully preserved, although git filter-tree would be able to provide the relevant history on the agave side at least. Then the review would be largely a "run this command and you'll see that both contents and history are the way we expect them to be."

100% agree. I'll see if I can put a script together that can do this and I'll open a PR.

@mircea-c mircea-c force-pushed the sync-agave-feb20 branch 2 times, most recently from 2598e5c to fb2fdd4 Compare March 6, 2026 02:38
@buffalojoec
Copy link
Copy Markdown
Contributor

I put together some tooling to programmatically keep Agave in sync with SVM, as well as proposed a new workflow.
#14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.